package org.sistema.pgfx.entidad;

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Embeddable;

/**
 * The primary key class for the niveles_funcionalidades database table.
 * 
 */
@Embeddable
public class NivelFuncionalidadPK implements Serializable {
	private static final long serialVersionUID = 1L;

	@Column(name = "nfu_evento", nullable = false)
	private String evento;

	@Column(name = "nfu_nivel", nullable = false)
	private Integer nivel;

	@Column(name = "nfu_funcionalidad", nullable = false)
	private Integer funcionalidad;

	public NivelFuncionalidadPK() {
	}

	public NivelFuncionalidadPK(Integer nivel, Integer funcionalidad, String evento) {
		this.nivel = nivel ;
		this.funcionalidad = funcionalidad;
		this.evento = evento;
	}

	@Override
	public boolean equals(Object other) {
		if (this == other) {
			return true;
		}
		if (!(other instanceof NivelFuncionalidadPK)) {
			return false;
		}
		NivelFuncionalidadPK castOther = (NivelFuncionalidadPK) other;
		return evento.equals(castOther.evento) && nivel.equals(castOther.nivel)
				&& funcionalidad.equals(castOther.funcionalidad);
	}
	public String getEvento() {
		return evento;
	}
	public Integer getFuncionalidad() {
		return funcionalidad;
	}
	public Integer getNivel() {
		return nivel;
	}
	@Override
	public int hashCode() {
		final int prime = 31;
		int hash = 17;
		hash = hash * prime + evento.hashCode();
		hash = hash * prime + nivel.hashCode();
		hash = hash * prime + funcionalidad.hashCode();

		return hash;
	}
	public void setEvento(String evento) {
		this.evento = evento;
	}
	public void setFuncionalidad(Integer funcionalidad) {
		this.funcionalidad = funcionalidad;
	}
	public void setNivel(Integer nivel) {
		this.nivel = nivel;
	}
}